/*
 * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.inspur.edp.bff.api.exception;

/**
 * 异常code枚举类
 * 出现异常后，应抛出相应的异常code，异常code对应的异常信息在resources中
 *
 * @author sure
 * @since 0.1.0
 */
public enum ErrorCodes {
    /**
     * api包
     * json结构异常。
     */
    BFF_FRAMEWORK_0001,

    /**
     * core包
     * 虚拟vo不支持删除并保存操作！void:[{0}]。
     */
    BFF_FRAMEWORK_1001,
    /**
     * 虚拟vo不支持删除并保存操作！
     */
    BFF_FRAMEWORK_1002,
    /**
     * 当前查询过滤字段为空，请重新设置过滤字段。
     */
    BFF_FRAMEWORK_1003,
    /**
     * 当前查询排序字段为空，请重新设置过滤字段。
     */
    BFF_FRAMEWORK_1004,
    /**
     * 查询子表方法的nodeCode参数不允许为空，请传入正确的子表或者其他子表的节点编号！
     */
    BFF_FRAMEWORK_1005,
    /**
     * 传入的nodeCode参数为主表编号，请传入正确的子表或者其他子表的节点编号！
     */
    BFF_FRAMEWORK_1006,
    /**
     * 请确认要查询的从表或者从从表数据是否存在编号为[{0}]对应的VO实体节点。
     */
    BFF_FRAMEWORK_1007,
    /**
     * 检索到数据为空,请确认数据ID为:[{0}]的数据是否存在,或者是否有检索相关的扩展动作，扩展动作中是否有给检索数据结果集重新修改的操作。
     */
    BFF_FRAMEWORK_1008,
    /**
     * 检索参数id列表不能为空，请重新输入！
     */
    BFF_FRAMEWORK_1009,
    /**
     * 传入子表参数不正确。
     */
    BFF_FRAMEWORK_1010,
    /**
     * 未检索到主表数据，请检查！
     */
    BFF_FRAMEWORK_1011,
    /**
     * 找不到要查找的数据，数据ID为:[{0}]
     */
    BFF_FRAMEWORK_1012,
    /**
     * 传入参数params不能为空。
     */
    BFF_FRAMEWORK_1013,
    /**
     * 传入的dataId不能为空
     */
    BFF_FRAMEWORK_1014,
    /**
     * 每页索引不允许小于1，请检查！
     */
    BFF_FRAMEWORK_1015,
    /**
     * 根据默认值批量新增子表数据时，默认值列表不能为空！
     */
    BFF_FRAMEWORK_1016,
    /**
     * 新增数据为空，请确认是否有写新增相关的扩展动作，扩展动作中是否有给新增数据结果赋值。
     */
    BFF_FRAMEWORK_1017,
    /**
     * 批量新增主表数据,默认值参数为空
     */
    BFF_FRAMEWORK_1018,
    /**
     * 批量新增时，id列表不能为空！
     */
    BFF_FRAMEWORK_1019,
    /**
     * 审计日志配置中，voId索引缓存中不包含当前查找项，voId=[{0}]
     */
    BFF_FRAMEWORK_1020,
    /**
     * 此方法应在子类中重写
     */
    BFF_FRAMEWORK_1021,
    /**
     * 帮助取数获取到的当前数据行参数为空
     */
    BFF_FRAMEWORK_1022,
    /**
     * 当前BE实体对应的的ResourceInfo类型不是BefEntityResInfoImpl类型，需要生成代码升级到最新！
     */
    BFF_FRAMEWORK_1023,
    /**
     * 当前VO实体对应的BE实体上没有字段[{0}]的信息
     */
    BFF_FRAMEWORK_1024,
    /**
     * 当前不存在SessionId
     */
    BFF_FRAMEWORK_1025,
    /**
     * 序列化失败
     */
    BFF_FRAMEWORK_1026,
    /**
     * 反序列化失败
     */
    BFF_FRAMEWORK_1027,
    /**
     * 变更集序列化异常
     */
    BFF_FRAMEWORK_1028,
    /**
     * 变更集反序列化异常
     */
    BFF_FRAMEWORK_1029,
    /**
     * LookupQueryParam反序列化失败
     */
    BFF_FRAMEWORK_1030,
    /**
     * 无法实例化类型
     */
    BFF_FRAMEWORK_1031,
    /**
     * 生成的Request类有问题，没有注解JsonDeserialize
     */
    BFF_FRAMEWORK_1032,
    /**
     * 反序列化类[{0}]实例化失败
     */
    BFF_FRAMEWORK_1033,
    /**
     * 找不到动作[{0}]
     */
    BFF_FRAMEWORK_1034,
    /**
     * VoDefaulValue反序列化失败
     */
    BFF_FRAMEWORK_1035,
    /**
     * [retrieveDefaultParam]节点反序列化失败！
     */
    BFF_FRAMEWORK_1036,
    /**
     * 未找到数据转换器，请设置扩展数据映射操作
     */
    BFF_FRAMEWORK_1037,
    /**
     * 未获取当前VO对应的数据源信息，请确认当前VO是虚拟VO还是实体VO，如需使用该操作，请使用根据业务实体创建的实体VO。
     */
    BFF_FRAMEWORK_1038,
    /**
     * 节点上没有找到字段[{0}]的帮助配置。请检查视图对象元数据中是否正确设置帮助信息，并成功部署。
     */
    BFF_FRAMEWORK_1039,
    /**
     * 序列化反序列化获取VoType失败！ nodeCode [{0}]
     */
    BFF_FRAMEWORK_1040,
    /**
     * SPI包
     * 字符串数据Json反序列化失败
     */
    BFF_FRAMEWORK_2001,
    /**
     * 整型数据Json反序列化失败
     */
    BFF_FRAMEWORK_2002,
    /**
     * 浮点型数据Json反序列化失败
     */
    BFF_FRAMEWORK_2003,
    /**
     * 布尔型数据Json反序列化失败
     */
    BFF_FRAMEWORK_2004,
    /**
     * 日期类型数据Json反序列化失败:[{0}]
     */
    BFF_FRAMEWORK_2005,
    /**
     * 二进制类型数据Json反序列化失败
     */
    BFF_FRAMEWORK_2006,
    /**
     * 枚举类型数据Json反序列化失败
     */
    BFF_FRAMEWORK_2007,
    /**
     * 关联[{0}]反序列化失败
     */
    BFF_FRAMEWORK_2008,
    /**
     * 暂未实现Vo数据转换为Be数据，请尝试重新编译Vo所在元数据工程
     */
    BFF_FRAMEWORK_2009,
    /**
     * 无法找到[{0}]节点
     */
    BFF_FRAMEWORK_2010,
    /**
     * 暂不支持动态列赋默认值！
     */
    BFF_FRAMEWORK_2011,
    /**
     * 当前字段：[{0}]对应的数据类型不支持！
     */
    BFF_FRAMEWORK_2012,
    /**
     * ID为[{0}]的实体数据不存在，请重新选择其他数据
     */
    BFF_FRAMEWORK_2013,
    /**
     * 报错原因：获取到的关联字段的resourceInfo类型不匹配，正确类型为：AssocationPropertyInfo，当前获取到的类型：
     * [{0}]当前字段标签为：[{1}]出现该问题的原因可能是：修改了该字段的信息，由关联改为了其他；修改后元数据没有更新或者生成的部署物没有更新并部署到环境中。
     * 请确认后更新或者找开发人员确认
     */
    BFF_FRAMEWORK_2014,
    /**
     * 标签为[{0}]的关联字段上设置的关联模型字典数据默认值不存在，重新设置默认值
     */
    BFF_FRAMEWORK_2015,
    /**
     * 暂不支持UDT类型的字段设置默认值！当前字段标签为:[{0}]
     */
    BFF_FRAMEWORK_2016,
    /**
     * 暂不支持动态属性类型的字段设置默认值！当前字段标签为:[{0}]
     */
    BFF_FRAMEWORK_2017,
    /**
     * [{0}]类型的字段不支持设置默认值！当前字段标签为[{1}]
     */
    BFF_FRAMEWORK_2018,
    /**
     * 标签为[{0}]的关联字段上设置的关联模型字典数据默认值不存在，重新设置默认值
     */
    BFF_FRAMEWORK_2019,
    /**
     * listener实例初始化失败
     */
    BFF_FRAMEWORK_2020,
    /**
     * 过滤条件反序列化失败[{0}]
     */
    BFF_FRAMEWORK_2021,
    /**
     * 排序条件反序列化失败[{0}]
     */
    BFF_FRAMEWORK_2022,
    /**
     * 未获取到节点对象编号为[{0}]的Info信息,请检查当前实体是否存在该节点对象。
     */
    BFF_FRAMEWORK_2023,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【变更集反向Mapping】扩展动作，并写相应的构件动作代码，【变更集反向Mapping】扩展动作通常和【修改数据】扩展动作固定搭配成对出现使用
     */
    BFF_FRAMEWORK_2024,
    /**
     * 未找到变更集转换器，请确认是否需要设置扩展变更集反向映射操作。
     */
    BFF_FRAMEWORK_2025,
    /**
     * 编号为：[{0}]的节点对象Info中没有标签为：[{1}]的字段Info信息,请确认当前对象上是否存在该字段信息。
     */
    BFF_FRAMEWORK_2026,
    /**
     * 修改操作执行异常：没有获取到变更集
     */
    BFF_FRAMEWORK_2027,
    /**
     * 获取序列化器失败 ClassName:{[0]}
     */
    BFF_FRAMEWORK_2028,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【数据Mapping】扩展动作，并写相应的构件动作代码，【数据Mapping】扩展动作通常和【新增数据】、【检索数据】、【查询数据】等扩展动作固定搭配成对出现使用
     */
    BFF_FRAMEWORK_2029,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【删除数据】扩展动作，并写相应的构件动作代码
     */
    BFF_FRAMEWORK_2030,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【批量删除数据】扩展动作，并写相应的构件动作代码
     */
    BFF_FRAMEWORK_2031,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【查询数据】和【数据Mapping】两个扩展动作，并写相应的构件动作代码
     */
    BFF_FRAMEWORK_2032,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【检索数据】和【数据Mapping】两个扩展动作，并写相应的构件动作代码
     */
    BFF_FRAMEWORK_2033,
    /**
     * 当前内置动作仅支持根据业务实体创建的VO，请确认当前VO是实体VO还是虚拟VO,如果是虚拟VO,
     * 请在当前使用的VO上新增【新增数据】和【数据Mapping】两个扩展动作，并写相应的构件动作代码
     */
    BFF_FRAMEWORK_2034,
    /**
     * 目前不支持新增的变更转换
     */
    BFF_FRAMEWORK_2035,

    /**
     * 禁止修改不可编辑字段，fieldLocator:{0}
     */
    BFF_FRAMEWORK_3001,

    /**
     * 获取字段类型出错，nodeCode:{0},fieldId:{1}
     */
    BFF_FRAMEWORK_3002

}
